group { name: "e/widgets/slider_horizontal";
   parts {
      part { name: "bg"; type: RECT;
         scale: 1;
         description { state: "default" 0.0;
            min: 56 28;
            color: 0 0 0 0; // no cc
            offscale;
         }
         description { state: "active" 0.0;
            inherit: "default" 0.0;
            rel2.relative: 0.0 1.0;
            rel2.offset: -5 -1;
            rel2.to_x: "e.text.label";
         }
      }
      part { name: "base"; type: RECT; mouse_events: 0;
         scale: 1;
         description { state: "default" 0.0;
            rel.to: "bg";
            color_class: "/bg/normal/slider/base";
            min: 8 4;
            max: 99999 4;
            fixed: 0 1;
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color_class: "/bg/disabled/slider/base";
         }
      }
      part { name: "glow"; type: RECT; mouse_events: 0;
         description { state: "default" 0.0;
            rel1.to: "base";
            rel2.relative: 0.5 1.0;
            rel2.to_x: "knob";
            rel2.to_y: "base";
            color_class: "/fg/normal/slider/bar";
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/disabled/slider/bar";
         }
      }
      part { name: "clip1"; type: RECT;
         description { state: "default" 0.0;
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            visible: 0;
         }
      }
      part { name: "e.text.label"; type: TEXT; mouse_events: 0;
         clip_to: "clip1";
         scale: 1;
         description { state: "default" 0.0;
            rel1.offset: -5 4;
            rel1.relative: 1.0 0.0;
            rel2.offset: -5 -5;
            align: 1.0 0.5;
            color_class: "/fg/normal/slider/text";
            text { font: FN; size: 10;
              min: 0 1;
              align: 0.0 0.5;
              text_class: "slider";
            }
            visible: 0;
            max: 0 0;
            fixed: 1 1;
            offscale;
         }
         description { state: "active" 0.0;
            inherit: "default" 0.0;
            text.min: 1 1;
            text.ellipsis: -1;
            visible: 1;
            max: 99999 99999;
         }
      }
      part { name: "clip2"; type: RECT;
         description { state: "default" 0.0;
            visible: 0;
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
      part { name: "label2"; type: TEXT; mouse_events: 0;
         clip_to: "clip2";
         scale: 1;
         description { state: "default" 0.0;
            rel.to: "e.text.label";
            color_class: "/fg/disabled/slider/text";
            text { font: FN; size: 10;
              text_source: "e.text.label";
              align: 0.0 0.5;
              text_class: "slider";
            }
            visible: 0;
         }
         description { state: "active" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
      part { name: "knob";
         scale: 1;
         description { state: "default" 0.0;
            rel.to: "e.dragable.slider";
            rel1.offset: -1 -1;
            rel2.offset: 0 0;
            color_class: "/fg/normal/slider/knob";
            image.normal: "i-radio";
            min: 16 16;
            max: 16 16;
            fixed: 1 1;
         }
         description { state: "clicked" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/pressed/slider/knob";
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/disabled/slider/knob";
         }
      }
      part { name: "e.swallow.bar"; type: SWALLOW;
         description { state: "default" 0.0;
            rel1.to_x: "bg";
            rel2.to_x: "bg";
         }
      }
      part { name: "e.dragable.slider"; type: RECT;
         scale: 1;
         dragable.x: 1 1 0;
         dragable.y: 0 0 0;
         dragable.confine: "bg";
         description { state: "default" 0.0;
            min: 16 16;
            max: 16 16;
            rel1.relative: 0.5 0.0;
            rel1.to_x: "bg";
            rel2.relative: 0.5 1.0;
            rel2.to_x: "bg";
            color: 0 0 0 0; // no cc
            fixed: 1 1;
         }
      }
      part { name: "event"; type: RECT;
         description { state: "default" 0.0;
            color: 0 0 0 0; // no cc
            visible: 0;
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
   }
   programs {
      program { signal: "mouse,down,1"; source: "e.dragable.slider";
         action: STATE_SET "clicked" 0.0;
         target: "knob";
      }
      program { signal: "mouse,up,1"; source: "e.dragable.slider";
         action: STATE_SET "default" 0.0;
         target: "knob";
      }
      program { signal: "e,action,show,label"; source: "e";
         action: STATE_SET "active" 0.0;
         target: "bg";
         target: "e.text.label";
         target: "label2";
      }
      program { signal: "e,action,hide,label"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "bg";
         target: "e.text.label";
         target: "label2";
      }
      program { signal: "e,state,disabled"; source: "e";
         action: STATE_SET "disabled" 0.0;
         target: "event";
         target: "glow";
         target: "base";
         target: "clip1";
         target: "clip2";
         target: "knob";
      }
      program { signal: "e,state,enabled"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "event";
         target: "glow";
         target: "base";
         target: "clip1";
         target: "clip2";
         target: "knob";
      }
   }
}

group { name: "e/widgets/slider_vertical";
   parts {
      part { name: "bg"; type: RECT;
         scale: 1;
         description { state: "default" 0.0;
            min: 28 56;
            color: 0 0 0 0; // no cc
            offscale;
         }
         description { state: "active" 0.0;
            inherit: "default" 0.0;
            rel2.relative: 1.0 0.0;
            rel2.offset: -1 -5;
            rel2.to_y: "e.text.label";
         }
      }
      part { name: "base"; type: RECT; mouse_events: 0;
         scale: 1;
         description { state: "default" 0.0;
            rel.to: "bg";
            color_class: "/bg/normal/slider/base";
            min: 4 8;
            max: 4 99999;
            fixed: 1 0;
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color_class: "/bg/disabled/slider/base";
         }
      }
      part { name: "glow"; type: RECT; mouse_events: 0;
         description { state: "default" 0.0;
            rel1.relative: 0.0 0.5;
            rel1.to_y: "knob";
            rel1.to_x: "base";
            rel2.to: "base";
            color_class: "/fg/normal/slider/bar";
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/disabled/slider/bar";
         }
      }
      part { name: "clip1"; type: RECT;
         description { state: "default" 0.0;
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            visible: 0;
         }
      }
      part { name: "e.text.label"; type: TEXT; mouse_events: 0;
         clip_to: "clip1";
         scale: 1;
         description { state: "default" 0.0;
            rel1.offset: 0 -1;
            rel1.relative: 0.0 1.0;
            rel2.offset: -1 -1;
            align: 0.5 1.0;
            color_class: "/fg/normal/slider/text";
            text { font: FN; size: 10;
              min: 0 0;
              align: 0.5 0.5;
              text_class: "slider";
            }
            visible: 0;
            max: 0 0;
            fixed: 1 1;
            offscale;
         }
         description { state: "active" 0.0;
            inherit: "default" 0.0;
            text.min: 1 1;
            text.ellipsis: -1;
            visible: 1;
            max: 99999 99999;
         }
      }
      part { name: "clip2"; type: RECT;
         description { state: "default" 0.0;
            visible: 0;
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
      part { name: "label2"; type: TEXT; mouse_events: 0;
         clip_to: "clip2";
         scale: 1;
         description { state: "default" 0.0;
            rel1.to: "e.text.label";
            rel2.to: "e.text.label";
            color_class: "/fg/disabled/slider/text";
            text { font: FN; size: 10;
              text_source: "e.text.label";
              align: 0.5 0.5;
              text_class: "slider";
            }
            visible: 0;
         }
         description { state: "active" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
      part { name: "knob";
         scale: 1;
         description { state: "default" 0.0;
            rel1.offset: -1 -1;
            rel1.to: "e.dragable.slider";
            rel2.offset: 0 0;
            rel2.to: "e.dragable.slider";
            color_class: "/fg/normal/slider/knob";
            image.normal: "i-radio";
            min: 16 16;
            max: 16 16;
            fixed: 1 1;
         }
         description { state: "clicked" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/pressed/slider/knob";
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/disabled/slider/knob";
         }
      }
      part { name: "e.swallow.bar"; type: SWALLOW;
         description { state: "default" 0.0;
            rel1.to_x: "bg";
            rel2.to_x: "bg";
         }
      }
      part { name: "e.dragable.slider"; type: RECT;
         scale: 1;
         dragable.x: 0 0 0;
         dragable.y: -1 1 0;
         dragable.confine: "bg";
         description { state: "default" 0.0;
            min: 16 16;
            max: 16 16;
            rel1.relative: 0.0 0.5;
            rel1.to_x: "bg";
            rel2.relative: 1.0 0.5;
            rel2.to_x: "bg";
            color: 0 0 0 0; // no cc
            fixed: 1 1;
         }
      }
      part { name: "event"; type: RECT;
         description { state: "default" 0.0;
            color: 0 0 0 0; // no cc
            visible: 0;
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
   }
   programs {
      program { signal: "mouse,down,1"; source: "e.dragable.slider";
         action: STATE_SET "clicked" 0.0;
         target: "knob";
      }
      program { signal: "mouse,up,1"; source: "e.dragable.slider";
         action: STATE_SET "default" 0.0;
         target: "knob";
      }
      program { signal: "e,action,show,label"; source: "e";
         action: STATE_SET "active" 0.0;
         target: "bg";
         target: "e.text.label";
         target: "label2";
      }
      program { signal: "e,action,hide,label"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "bg";
         target: "e.text.label";
         target: "label2";
      }
      program { signal: "e,state,disabled"; source: "e";
         action: STATE_SET "disabled" 0.0;
         target: "event";
         target: "glow";
         target: "base";
         target: "clip1";
         target: "clip2";
         target: "knob";
      }
      program { signal: "e,state,enabled"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "event";
         target: "glow";
         target: "base";
         target: "clip1";
         target: "clip2";
         target: "knob";
      }
   }
}
